[INFO] cloning repository https://github.com/loony-rs/loony-rs-runtime
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/loony-rs/loony-rs-runtime" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floony-rs%2Floony-rs-runtime", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floony-rs%2Floony-rs-runtime'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5c7f58c56314a92be8bdbb319592277208c63d1d
[INFO] fixing loony-rs/loony-rs-runtime against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floony-rs%2Floony-rs-runtime" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/loony-rs/loony-rs-runtime
[INFO] finished tweaking git repo https://github.com/loony-rs/loony-rs-runtime
[INFO] tweaked toml for git repo https://github.com/loony-rs/loony-rs-runtime written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/loony-rs/loony-rs-runtime on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/loony-rs/loony-rs-runtime already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-core v0.1.35
[INFO] [stderr]   Downloaded tracing v0.1.43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c
[INFO] running `Command { std: "docker" "start" "1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking loony-rs-runtime v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:49
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                 ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:60
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                            ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:78
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                                              ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:95
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                                                               ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                               - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------            ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:33
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                                  - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------               ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:50
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                               - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------                                ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:53
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                                  - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------                                   ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VTABLE` in module `raw`
[INFO] [stdout]   --> src/task/mod.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let vtable = &raw::VTABLE::<F>;
[INFO] [stdout]    |                        ^^^^^^ not found in `raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:266:54
[INFO] [stdout]     |
[INFO] [stdout] 266 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:280:54
[INFO] [stdout]     |
[INFO] [stdout] 280 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:300:54
[INFO] [stdout]     |
[INFO] [stdout] 300 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]    --> src/runtime/handle.rs:223:40
[INFO] [stdout]     |
[INFO] [stdout] 223 |         use std::task::{Context, Poll, Waker};
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/runtime/park.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]  --> src/runtime/park.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::task::{Context, Poll, RawWaker, RawWakerVTable, Waker};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/runtime/scheduler/multi_thread.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `current_thread::CurrentThread`
[INFO] [stdout]  --> src/runtime/scheduler/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use current_thread::CurrentThread;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multi_thread::MultiThread`
[INFO] [stdout]  --> src/runtime/scheduler/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use multi_thread::MultiThread;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/task/raw.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CALLBACK_WAKER_VTABLE` should have an upper camel case name
[INFO] [stdout]    --> src/task/waker.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout] 299 |         struct CALLBACK_WAKER_VTABLE<F>(std::marker::PhantomData<F>);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallbackWakerVtable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vtable`
[INFO] [stdout]  --> src/task/mod.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use raw::{Header, Vtable};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/task/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/task/mod.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::task::{Context, Poll, Waker};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Task` is not a future
[INFO] [stdout]   --> src/runtime/handle.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.spawn_background(task);
[INFO] [stdout]    |              ---------------- ^^^^ `Task` is not a future
[INFO] [stdout]    |              |
[INFO] [stdout]    |              required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `Future` is not implemented for `Task`
[INFO] [stdout]   --> src/task/raw.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Task {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Handle::spawn_background`
[INFO] [stdout]   --> src/runtime/handle.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn spawn_background<F>(&self, future: F)
[INFO] [stdout]    |            ---------------- required by a bound in this associated function
[INFO] [stdout] 53 |     where
[INFO] [stdout] 54 |         F: Future<Output = ()> + Send + 'static,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `Handle::spawn_background`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:49
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                 ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:60
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                            ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:78
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                                              ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/runtime/handle.rs:179:95
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |                                 - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 178 |                 static VTABLE: RawWakerVTable =
[INFO] [stdout]     |                        ------ generic parameter used in this inner static item
[INFO] [stdout] 179 |                     RawWakerVTable::new(clone::<F>, wake::<F>, wake_by_ref::<F>, drop_waker::<F>);
[INFO] [stdout]     |                                                                                               ^ use of generic parameter from outer item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                               - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------            ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:33
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                                  - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------               ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:50
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                               - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------                                ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0401]: can't use generic parameters from outer item
[INFO] [stdout]    --> src/task/raw.rs:424:53
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub(crate) fn create_raw_task<F, T, S>(future: F, scheduler_data: S) -> (Task, NonNull<Header>)
[INFO] [stdout]     |                                  - type parameter from outer item
[INFO] [stdout] ...
[INFO] [stdout] 424 |     static VTABLE: VTableFor<F, T> = VTableFor::<F, T>::new();
[INFO] [stdout]     |            ------                                   ^ use of generic parameter from outer item
[INFO] [stdout]     |            |
[INFO] [stdout]     |            generic parameter used in this inner static item
[INFO] [stdout]     |
[INFO] [stdout]     = note: nested items are independent from their parent item for everything except for privacy and name resolution
[INFO] [stdout]     = note: a `static` is a separate item from the item that contains it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `VTABLE` in module `raw`
[INFO] [stdout]   --> src/task/mod.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let vtable = &raw::VTABLE::<F>;
[INFO] [stdout]    |                        ^^^^^^ not found in `raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:113:54
[INFO] [stdout]     |
[INFO] [stdout] 113 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:266:54
[INFO] [stdout]     |
[INFO] [stdout] 266 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:280:54
[INFO] [stdout]     |
[INFO] [stdout] 280 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: constant `CURRENT_CONTEXT` is private
[INFO] [stdout]    --> src/runtime/handle.rs:300:54
[INFO] [stdout]     |
[INFO] [stdout] 300 |         use crate::runtime::scheduler::multi_thread::CURRENT_CONTEXT;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^ private constant
[INFO] [stdout]     |
[INFO] [stdout] note: the constant `CURRENT_CONTEXT` is defined here
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:12:1
[INFO] [stdout]     |
[INFO] [stdout]  12 | / thread_local! {
[INFO] [stdout]  13 | |     static CURRENT_CONTEXT: RefCell<Option<Arc<Shared>>> = RefCell::new(None);
[INFO] [stdout]  14 | |     static CURRENT_WORKER: RefCell<Option<WorkerRef>> = RefCell::new(None);
[INFO] [stdout]  15 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:603:35
[INFO] [stdout]     |
[INFO] [stdout] 603 |                 inner: mio::Poll::new()?,
[INFO] [stdout]     |                                   ^^^ associated function or constant not found in `mio::Poll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]    --> src/runtime/handle.rs:223:40
[INFO] [stdout]     |
[INFO] [stdout] 223 |         use std::task::{Context, Poll, Waker};
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/runtime/park.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]  --> src/runtime/park.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::task::{Context, Poll, RawWaker, RawWakerVTable, Waker};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/runtime/scheduler/multi_thread.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `current_thread::CurrentThread`
[INFO] [stdout]  --> src/runtime/scheduler/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use current_thread::CurrentThread;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multi_thread::MultiThread`
[INFO] [stdout]  --> src/runtime/scheduler/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use multi_thread::MultiThread;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/task/raw.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CALLBACK_WAKER_VTABLE` should have an upper camel case name
[INFO] [stdout]    --> src/task/waker.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout] 299 |         struct CALLBACK_WAKER_VTABLE<F>(std::marker::PhantomData<F>);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallbackWakerVtable`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vtable`
[INFO] [stdout]  --> src/task/mod.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use raw::{Header, Vtable};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/task/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Waker`
[INFO] [stdout]   --> src/task/mod.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::task::{Context, Poll, Waker};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:639:24
[INFO] [stdout]     |
[INFO] [stdout] 639 |             self.inner.register(source, Token(token), mio_interests)
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `registry` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     pub fn registry(&self) -> &Registry {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/runtime/park.rs:652:29
[INFO] [stdout]     |
[INFO] [stdout] 652 |             self.inner.poll(events, timeout)
[INFO] [stdout]     |                        ---- ^^^^^^ expected `mio::Events`, found `park::Events`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `park::Events` and `mio::Events` have similar names, but are actually distinct types
[INFO] [stdout] note: `park::Events` is defined in the current crate
[INFO] [stdout]    --> src/runtime/park.rs:703:1
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub struct Events {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mio::Events` is defined in crate `mio`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/event/events.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pub struct Events {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn poll(&mut self, events: &mut Events, timeout: Option<Duration>) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `deregister` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:665:24
[INFO] [stdout]     |
[INFO] [stdout] 665 |             self.inner.deregister(source)
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `registry` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     pub fn registry(&self) -> &Registry {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `reregister` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:691:24
[INFO] [stdout]     |
[INFO] [stdout] 691 |             self.inner.reregister(source, Token(token), mio_interests)
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `registry` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     pub fn registry(&self) -> &Registry {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Task` is not a future
[INFO] [stdout]   --> src/runtime/handle.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.spawn_background(task);
[INFO] [stdout]    |              ---------------- ^^^^ `Task` is not a future
[INFO] [stdout]    |              |
[INFO] [stdout]    |              required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `Future` is not implemented for `Task`
[INFO] [stdout]   --> src/task/raw.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Task {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Handle::spawn_background`
[INFO] [stdout]   --> src/runtime/handle.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn spawn_background<F>(&self, future: F)
[INFO] [stdout]    |            ---------------- required by a bound in this associated function
[INFO] [stdout] 53 |     where
[INFO] [stdout] 54 |         F: Future<Output = ()> + Send + 'static,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ required by this bound in `Handle::spawn_background`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get` found for struct `mio::Events` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:751:52
[INFO] [stdout]     |
[INFO] [stdout] 751 |             if let Some(event) = self.events.inner.get(self.index) {
[INFO] [stdout]     |                                                    ^^^ method not found in `mio::Events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:603:35
[INFO] [stdout]     |
[INFO] [stdout] 603 |                 inner: mio::Poll::new()?,
[INFO] [stdout]     |                                   ^^^ associated function or constant not found in `mio::Poll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `register` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:639:24
[INFO] [stdout]     |
[INFO] [stdout] 639 |             self.inner.register(source, Token(token), mio_interests)
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `registry` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     pub fn registry(&self) -> &Registry {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/runtime/park.rs:652:29
[INFO] [stdout]     |
[INFO] [stdout] 652 |             self.inner.poll(events, timeout)
[INFO] [stdout]     |                        ---- ^^^^^^ expected `mio::Events`, found `park::Events`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: `park::Events` and `mio::Events` have similar names, but are actually distinct types
[INFO] [stdout] note: `park::Events` is defined in the current crate
[INFO] [stdout]    --> src/runtime/park.rs:703:1
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub struct Events {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mio::Events` is defined in crate `mio`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/event/events.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]  42 | pub struct Events {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn poll(&mut self, events: &mut Events, timeout: Option<Duration>) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]    --> src/task/raw.rs:261:83
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     if let Some(join_waker) = (*header.as_ptr()).join_waker.get().take() {
[INFO] [stdout]     |                                                                                   ^^^^ `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout] note: the method `take` exists on the type `&mut Option<futures_task::Waker>`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:1898:4
[INFO] [stdout]     = note: you might want to use the unsafe method `<*mut T>::as_mut` to get an optional reference to the value behind the pointer
[INFO] [stdout]     = note: read the documentation for `<*mut T>::as_mut` and ensure you satisfy its safety preconditions before calling it to avoid undefined behavior: https://doc.rust-lang.org/std/primitive.pointer.html#method.as_mut
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `*mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout]             which is required by `&mut *mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `deregister` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:665:24
[INFO] [stdout]     |
[INFO] [stdout] 665 |             self.inner.deregister(source)
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `registry` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     pub fn registry(&self) -> &Registry {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/task/raw.rs:300:37
[INFO] [stdout]     |
[INFO] [stdout] 300 |             (vtable.destroy_output)(output_ptr);
[INFO] [stdout]     |             ----------------------- ^^^^^^^^^^ expected `*mut ()`, found `*mut *mut ()`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected raw pointer `*mut ()`
[INFO] [stdout]                found raw pointer `*mut *mut ()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `reregister` found for struct `mio::Poll` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:691:24
[INFO] [stdout]     |
[INFO] [stdout] 691 |             self.inner.reregister(source, Token(token), mio_interests)
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `registry` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/mio-1.1.1/src/poll.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 335 |     pub fn registry(&self) -> &Registry {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/task/raw.rs:494:43
[INFO] [stdout]     |
[INFO] [stdout] 494 |     (*state_ptr).join_waker.get().replace(waker);
[INFO] [stdout]     |                                   ------- ^^^^^ expected `Option<Waker>`, found `Waker`
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<futures_task::Waker>`
[INFO] [stdout]              found struct `futures_task::Waker`
[INFO] [stdout] help: the return type of this call is `futures_task::Waker` due to the type of the argument passed
[INFO] [stdout]    --> src/task/raw.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     (*state_ptr).join_waker.get().replace(waker);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this argument influences the return type of `replace`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/ptr/mut_ptr.rs:1472:24
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]     |
[INFO] [stdout] 494 |     (*state_ptr).join_waker.get().replace(Some(waker));
[INFO] [stdout]     |                                           +++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get` found for struct `mio::Events` in the current scope
[INFO] [stdout]    --> src/runtime/park.rs:751:52
[INFO] [stdout]     |
[INFO] [stdout] 751 |             if let Some(event) = self.events.inner.get(self.index) {
[INFO] [stdout]     |                                                    ^^^ method not found in `mio::Events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]    --> src/task/raw.rs:530:65
[INFO] [stdout]     |
[INFO] [stdout] 530 |         if let Some(join_waker) = (*state_ptr).join_waker.get().take() {
[INFO] [stdout]     |                                                                 ^^^^ `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout] note: the method `take` exists on the type `&mut Option<futures_task::Waker>`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:1898:4
[INFO] [stdout]     = note: you might want to use the unsafe method `<*mut T>::as_mut` to get an optional reference to the value behind the pointer
[INFO] [stdout]     = note: read the documentation for `<*mut T>::as_mut` and ensure you satisfy its safety preconditions before calling it to avoid undefined behavior: https://doc.rust-lang.org/std/primitive.pointer.html#method.as_mut
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `*mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout]             which is required by `&mut *mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for enum `Option<Box<F>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/task/waker.rs:275:49
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 callback: callback_ref.callback.clone(),
[INFO] [stdout]     |                                                 ^^^^^ method cannot be called on `Option<Box<F>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Box<F>: Clone`
[INFO] [stdout]             which is required by `Option<Box<F>>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/task/waker.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |             RawWaker::new(
[INFO] [stdout]     |             ------------- arguments to this function are incorrect
[INFO] [stdout] 279 |                 Box::into_raw(cloned) as *const (),
[INFO] [stdout] 280 |                 &CALLBACK_WAKER_VTABLE::<F>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&RawWakerVTable`, found `&...`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&'static RawWakerVTable`
[INFO] [stdout]                found reference `&fn(PhantomData<F>) -> CALLBACK_WAKER_VTABLE<F> {CALLBACK_WAKER_VTABLE::<F>}`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/task/wake.rs:56:17
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for enum `Option<Box<F>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/task/waker.rs:321:37
[INFO] [stdout]     |
[INFO] [stdout] 321 |             callback: self.callback.clone(),
[INFO] [stdout]     |                                     ^^^^^ method cannot be called on `Option<Box<F>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Box<F>: Clone`
[INFO] [stdout]             which is required by `Option<Box<F>>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `waker` on type `Header`
[INFO] [stdout]   --> src/task/mod.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 (*header).waker.get().replace(cx.waker().clone());
[INFO] [stdout]    |                           ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `state`, `scheduler`, `vtable`, `future`, `output`, `join_waker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Header` has no field named `waker`
[INFO] [stdout]   --> src/task/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         waker: std::cell::UnsafeCell::new(None),
[INFO] [stdout]    |         ^^^^^ `Header` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `join_waker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `waker` on type `Header`
[INFO] [stdout]    --> src/task/mod.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if let Some(waker) = (*header.as_ptr()).waker.get().replace(None) {
[INFO] [stdout]     |                                                     ^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `state`, `scheduler`, `vtable`, `future`, `output`, `join_waker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/runtime/park.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `futures_task::Waker::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/handle.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 | /             std::task::Waker::from_raw(unsafe {
[INFO] [stdout] 185 | |                 raw_waker::<F>(Arc::into_raw(state.clone()) as *const ())
[INFO] [stdout] 186 | |             })
[INFO] [stdout]     | |______________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `raw_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/handle.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |             --------------------------------------------------------------- items do not inherit unsafety from separate enclosing items
[INFO] [stdout] ...
[INFO] [stdout] 153 |                     raw_waker::<F>(data)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]    --> src/task/raw.rs:261:83
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     if let Some(join_waker) = (*header.as_ptr()).join_waker.get().take() {
[INFO] [stdout]     |                                                                                   ^^^^ `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout] note: the method `take` exists on the type `&mut Option<futures_task::Waker>`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:1898:4
[INFO] [stdout]     = note: you might want to use the unsafe method `<*mut T>::as_mut` to get an optional reference to the value behind the pointer
[INFO] [stdout]     = note: read the documentation for `<*mut T>::as_mut` and ensure you satisfy its safety preconditions before calling it to avoid undefined behavior: https://doc.rust-lang.org/std/primitive.pointer.html#method.as_mut
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `*mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout]             which is required by `&mut *mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]   --> src/runtime/park.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let (guard, _) = self.inner.condvar.wait_timeout(guard, duration).unwrap();
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let inner = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | unsafe fn waker_clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let inner = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | unsafe fn waker_wake(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let inner = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | unsafe fn waker_wake_by_ref(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let _ = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | unsafe fn waker_drop(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/task/raw.rs:300:37
[INFO] [stdout]     |
[INFO] [stdout] 300 |             (vtable.destroy_output)(output_ptr);
[INFO] [stdout]     |             ----------------------- ^^^^^^^^^^ expected `*mut ()`, found `*mut *mut ()`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected raw pointer `*mut ()`
[INFO] [stdout]                found raw pointer `*mut *mut ()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let inner = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | unsafe fn sleep_waker_clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let inner = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | unsafe fn sleep_waker_wake(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let inner = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | unsafe fn sleep_waker_wake_by_ref(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let _ = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | unsafe fn sleep_waker_drop(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:355:17
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let inner = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | unsafe fn yield_waker_clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:363:17
[INFO] [stdout]     |
[INFO] [stdout] 363 |     let inner = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | unsafe fn yield_waker_wake(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let inner = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | unsafe fn yield_waker_wake_by_ref(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:377:13
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let _ = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | unsafe fn yield_waker_drop(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/task/raw.rs:494:43
[INFO] [stdout]     |
[INFO] [stdout] 494 |     (*state_ptr).join_waker.get().replace(waker);
[INFO] [stdout]     |                                   ------- ^^^^^ expected `Option<Waker>`, found `Waker`
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<futures_task::Waker>`
[INFO] [stdout]              found struct `futures_task::Waker`
[INFO] [stdout] help: the return type of this call is `futures_task::Waker` due to the type of the argument passed
[INFO] [stdout]    --> src/task/raw.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     (*state_ptr).join_waker.get().replace(waker);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this argument influences the return type of `replace`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/ptr/mut_ptr.rs:1472:24
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]     |
[INFO] [stdout] 494 |     (*state_ptr).join_waker.get().replace(Some(waker));
[INFO] [stdout]     |                                           +++++     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]    --> src/task/raw.rs:530:65
[INFO] [stdout]     |
[INFO] [stdout] 530 |         if let Some(join_waker) = (*state_ptr).join_waker.get().take() {
[INFO] [stdout]     |                                                                 ^^^^ `*mut Option<futures_task::Waker>` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout] note: the method `take` exists on the type `&mut Option<futures_task::Waker>`
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:1898:4
[INFO] [stdout]     = note: you might want to use the unsafe method `<*mut T>::as_mut` to get an optional reference to the value behind the pointer
[INFO] [stdout]     = note: read the documentation for `<*mut T>::as_mut` and ensure you satisfy its safety preconditions before calling it to avoid undefined behavior: https://doc.rust-lang.org/std/primitive.pointer.html#method.as_mut
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `*mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout]             which is required by `&mut *mut Option<futures_task::Waker>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let inner = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         unsafe fn clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let inner = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         unsafe fn wake(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |             let inner = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         unsafe fn wake_by_ref(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:256:21
[INFO] [stdout]     |
[INFO] [stdout] 256 |             let _ = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         unsafe fn drop_waker(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for enum `Option<Box<F>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/task/waker.rs:275:49
[INFO] [stdout]     |
[INFO] [stdout] 275 |                 callback: callback_ref.callback.clone(),
[INFO] [stdout]     |                                                 ^^^^^ method cannot be called on `Option<Box<F>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Box<F>: Clone`
[INFO] [stdout]             which is required by `Option<Box<F>>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/task/waker.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |             RawWaker::new(
[INFO] [stdout]     |             ------------- arguments to this function are incorrect
[INFO] [stdout] 279 |                 Box::into_raw(cloned) as *const (),
[INFO] [stdout] 280 |                 &CALLBACK_WAKER_VTABLE::<F>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&RawWakerVTable`, found `&...`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&'static RawWakerVTable`
[INFO] [stdout]                found reference `&fn(PhantomData<F>) -> CALLBACK_WAKER_VTABLE<F> {CALLBACK_WAKER_VTABLE::<F>}`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/task/wake.rs:56:17
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                     let parker = &*(data as *const BlockOnParker);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 unsafe fn wake(data: *const ()) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:207:35
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     let parker = &*(data as *const BlockOnParker);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 unsafe fn wake_by_ref(data: *const ()) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for enum `Option<Box<F>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/task/waker.rs:321:37
[INFO] [stdout]     |
[INFO] [stdout] 321 |             callback: self.callback.clone(),
[INFO] [stdout]     |                                     ^^^^^ method cannot be called on `Option<Box<F>>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Box<F>: Clone`
[INFO] [stdout]             which is required by `Option<Box<F>>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `waker` on type `Header`
[INFO] [stdout]   --> src/task/mod.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 (*header).waker.get().replace(cx.waker().clone());
[INFO] [stdout]    |                           ^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `state`, `scheduler`, `vtable`, `future`, `output`, `join_waker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Header` has no field named `waker`
[INFO] [stdout]   --> src/task/mod.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         waker: std::cell::UnsafeCell::new(None),
[INFO] [stdout]    |         ^^^^^ `Header` does not have this field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `join_waker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_worker`
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:393:58
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn steal_work(shared: &Arc<Shared>, my_index: usize, my_worker: &Worker<Task>) -> Option<Task> {
[INFO] [stdout]     |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_worker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `waker` on type `Header`
[INFO] [stdout]    --> src/task/mod.rs:118:53
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if let Some(waker) = (*header.as_ptr()).waker.get().replace(None) {
[INFO] [stdout]     |                                                     ^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `state`, `scheduler`, `vtable`, `future`, `output`, `join_waker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/runtime/park.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let _ = Box::from_raw(ptr as *mut F);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 |     unsafe fn destroy_future(ptr: *mut ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:314:17
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let _ = Box::from_raw(ptr as *mut T);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 313 |     unsafe fn destroy_output(ptr: *mut ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `futures_task::Waker::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/handle.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 | /             std::task::Waker::from_raw(unsafe {
[INFO] [stdout] 185 | |                 raw_waker::<F>(Arc::into_raw(state.clone()) as *const ())
[INFO] [stdout] 186 | |             })
[INFO] [stdout]     | |______________^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     unsafe fn clone_waker(data: *const ()) -> RawWaker {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:341:26
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `raw_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/handle.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |             unsafe fn raw_waker<F>(state: *const ()) -> std::task::RawWaker {
[INFO] [stdout]     |             --------------------------------------------------------------- items do not inherit unsafety from separate enclosing items
[INFO] [stdout] ...
[INFO] [stdout] 153 |                     raw_waker::<F>(data)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_state`
[INFO] [stdout]    --> src/task/raw.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::raw::waker_from_task::wake_by_ref_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         wake_by_ref_waker(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 |     unsafe fn wake_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:353:22
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     unsafe fn wake_by_ref_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:357:27
[INFO] [stdout]     |
[INFO] [stdout] 357 |             let current = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:372:19
[INFO] [stdout]     |
[INFO] [stdout] 372 |             match (*header.as_ptr()).state.compare_exchange(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:393:22
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:392:5
[INFO] [stdout]     |
[INFO] [stdout] 392 |     unsafe fn drop_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:404:26
[INFO] [stdout]     |
[INFO] [stdout] 404 |             let vtable = (*header.as_ptr()).vtable;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |             (vtable.deallocate)(header);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `guard`
[INFO] [stdout]   --> src/runtime/park.rs:90:14
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let (guard, _) = self.inner.condvar.wait_timeout(guard, duration).unwrap();
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_guard`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:473:19
[INFO] [stdout]     |
[INFO] [stdout] 473 |     let header = &*header_ptr;
[INFO] [stdout]     |                   ^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:469:1
[INFO] [stdout]     |
[INFO] [stdout] 469 | / unsafe fn schedule_fn<S>(header_ptr: *const Header)
[INFO] [stdout] 470 | | where
[INFO] [stdout] 471 | |     S: Fn(*const Header),
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:477:31
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let scheduler_data = &*scheduler_ptr;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:479:26
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let scheduler = &*user_data;
[INFO] [stdout]     |                          ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |     let state = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:501:1
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub(crate) unsafe fn try_read_output<T>(header: NonNull<Header>) -> Option<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:514:22
[INFO] [stdout]     |
[INFO] [stdout] 514 |     let output_ptr = (*header.as_ptr()).output.get() as *const T;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:515:10
[INFO] [stdout]     |
[INFO] [stdout] 515 |     Some(ptr::read(output_ptr))
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let inner = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | unsafe fn waker_clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]  --> src/task/waker.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]   |
[INFO] [stdout]   = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]  --> src/task/waker.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     unsafe fn clone_waker(data: *const ()) -> RawWaker {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:141:17
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let inner = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 | unsafe fn waker_wake(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_state`
[INFO] [stdout]   --> src/task/waker.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/task/waker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     unsafe fn wake_waker(data: *const ()) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let inner = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | unsafe fn waker_wake_by_ref(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |             let current = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |             match (*header.as_ptr()).state.compare_exchange_weak(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let _ = Arc::from_raw(data as *const ThreadParkInner);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | unsafe fn waker_drop(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/task/waker.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     unsafe fn wake_by_ref_waker(data: *const ()) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:71:27
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let current = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |             match (*header.as_ptr()).state.compare_exchange_weak(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let inner = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | unsafe fn sleep_waker_clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     unsafe fn drop_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:268:17
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let inner = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | unsafe fn sleep_waker_wake(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let vtable = (*header.as_ptr()).vtable;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             (vtable.deallocate)(header);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let inner = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | unsafe fn sleep_waker_wake_by_ref(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::waker::noop_waker::noop_raw_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         noop_raw_waker()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     unsafe fn clone(_: *const ()) -> RawWaker {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let _ = Arc::from_raw(data as *const SleepParkInner);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:281:1
[INFO] [stdout]     |
[INFO] [stdout] 281 | unsafe fn sleep_waker_drop(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/task/waker.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:355:17
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let inner = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:354:1
[INFO] [stdout]     |
[INFO] [stdout] 354 | unsafe fn yield_waker_clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:285:29
[INFO] [stdout]     |
[INFO] [stdout] 285 |             let callback = &*(data as *const CallbackWaker<F>);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |         unsafe fn wake<F: Fn() + Send + Sync + 'static>(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:363:17
[INFO] [stdout]     |
[INFO] [stdout] 363 |     let inner = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | unsafe fn yield_waker_wake(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::waker::CallbackWaker::<F>::into_waker::wake` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             wake::<F>(data);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:291:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |         unsafe fn wake_by_ref<F: Fn() + Send + Sync + 'static>(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |             let _ = Box::from_raw(data as *mut CallbackWaker<F>);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         unsafe fn drop_waker<F: Fn() + Send + Sync + 'static>(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |     let inner = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:367:1
[INFO] [stdout]     |
[INFO] [stdout] 367 | unsafe fn yield_waker_wake_by_ref(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/park.rs:377:13
[INFO] [stdout]     |
[INFO] [stdout] 377 |     let _ = Arc::from_raw(data as *const YieldParkInner);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/park.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | unsafe fn yield_waker_drop(data: *const ()) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let future_ptr = (*header.as_ptr())
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/mod.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | unsafe fn deallocate_task<F: Future>(header: NonNull<Header>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let _ = Box::from_raw(future_ptr);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:132:22
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let output_ptr = (*header.as_ptr()).output.get() as *mut Option<F::Output>;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `loony-rs-runtime` (lib) due to 32 previous errors; 74 warnings emitted
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = Box::from_raw(output_ptr);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let _ = Box::from_raw(header.as_ptr());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0277, E0308, E0401, E0425, E0560, E0599, E0603, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let inner = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |         unsafe fn clone(data: *const ()) -> RawWaker {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:241:25
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let inner = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         unsafe fn wake(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |             let inner = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         unsafe fn wake_by_ref(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::sync::Arc::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:256:21
[INFO] [stdout]     |
[INFO] [stdout] 256 |             let _ = Arc::from_raw(data as *const ThreadParkerInner);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/current_thread.rs:255:9
[INFO] [stdout]     |
[INFO] [stdout] 255 |         unsafe fn drop_waker(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                     let parker = &*(data as *const BlockOnParker);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 unsafe fn wake(data: *const ()) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:207:35
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     let parker = &*(data as *const BlockOnParker);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 unsafe fn wake_by_ref(data: *const ()) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_worker`
[INFO] [stdout]    --> src/runtime/scheduler/multi_thread.rs:393:58
[INFO] [stdout]     |
[INFO] [stdout] 393 |     fn steal_work(shared: &Arc<Shared>, my_index: usize, my_worker: &Worker<Task>) -> Option<Task> {
[INFO] [stdout]     |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_worker`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let _ = Box::from_raw(ptr as *mut F);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 |     unsafe fn destroy_future(ptr: *mut ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:314:17
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let _ = Box::from_raw(ptr as *mut T);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:313:5
[INFO] [stdout]     |
[INFO] [stdout] 313 |     unsafe fn destroy_output(ptr: *mut ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:337:5
[INFO] [stdout]     |
[INFO] [stdout] 337 |     unsafe fn clone_waker(data: *const ()) -> RawWaker {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:341:26
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_state`
[INFO] [stdout]    --> src/task/raw.rs:341:13
[INFO] [stdout]     |
[INFO] [stdout] 341 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::raw::waker_from_task::wake_by_ref_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         wake_by_ref_waker(data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 348 |     unsafe fn wake_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:353:22
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     unsafe fn wake_by_ref_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:357:27
[INFO] [stdout]     |
[INFO] [stdout] 357 |             let current = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:372:19
[INFO] [stdout]     |
[INFO] [stdout] 372 |             match (*header.as_ptr()).state.compare_exchange(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:393:22
[INFO] [stdout]     |
[INFO] [stdout] 393 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:392:5
[INFO] [stdout]     |
[INFO] [stdout] 392 |     unsafe fn drop_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:404:26
[INFO] [stdout]     |
[INFO] [stdout] 404 |             let vtable = (*header.as_ptr()).vtable;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |             (vtable.deallocate)(header);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:473:19
[INFO] [stdout]     |
[INFO] [stdout] 473 |     let header = &*header_ptr;
[INFO] [stdout]     |                   ^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:469:1
[INFO] [stdout]     |
[INFO] [stdout] 469 | / unsafe fn schedule_fn<S>(header_ptr: *const Header)
[INFO] [stdout] 470 | | where
[INFO] [stdout] 471 | |     S: Fn(*const Header),
[INFO] [stdout]     | |_________________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:477:31
[INFO] [stdout]     |
[INFO] [stdout] 477 |         let scheduler_data = &*scheduler_ptr;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:479:26
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let scheduler = &*user_data;
[INFO] [stdout]     |                          ^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |     let state = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/raw.rs:501:1
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub(crate) unsafe fn try_read_output<T>(header: NonNull<Header>) -> Option<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:514:22
[INFO] [stdout]     |
[INFO] [stdout] 514 |     let output_ptr = (*header.as_ptr()).output.get() as *const T;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::read` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/raw.rs:515:10
[INFO] [stdout]     |
[INFO] [stdout] 515 |     Some(ptr::read(output_ptr))
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]  --> src/task/waker.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]   |
[INFO] [stdout]   = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]  --> src/task/waker.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     unsafe fn clone_waker(data: *const ()) -> RawWaker {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_state`
[INFO] [stdout]   --> src/task/waker.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/task/waker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     unsafe fn wake_waker(data: *const ()) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |             let current = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |             match (*header.as_ptr()).state.compare_exchange_weak(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/task/waker.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     unsafe fn wake_by_ref_waker(data: *const ()) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:71:27
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let current = (*header.as_ptr()).state.load(Ordering::Acquire);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]   --> src/task/waker.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |             match (*header.as_ptr()).state.compare_exchange_weak(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let header = NonNull::new_unchecked(data as *mut Header);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     unsafe fn drop_waker(data: *const ()) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let prev_state = (*header.as_ptr())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let vtable = (*header.as_ptr()).vtable;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             (vtable.deallocate)(header);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::waker::noop_waker::noop_raw_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         noop_raw_waker()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     unsafe fn clone(_: *const ()) -> RawWaker {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::waker::panic_waker::panic_raw_waker` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         panic_raw_waker()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     unsafe fn clone(_: *const ()) -> RawWaker {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/task/waker.rs:205:13
[INFO] [stdout]     |
[INFO] [stdout] 205 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:285:29
[INFO] [stdout]     |
[INFO] [stdout] 285 |             let callback = &*(data as *const CallbackWaker<F>);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |         unsafe fn wake<F: Fn() + Send + Sync + 'static>(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `task::waker::CallbackWaker::<F>::into_waker::wake` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |             wake::<F>(data);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:291:9
[INFO] [stdout]     |
[INFO] [stdout] 291 |         unsafe fn wake_by_ref<F: Fn() + Send + Sync + 'static>(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/waker.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |             let _ = Box::from_raw(data as *mut CallbackWaker<F>);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/waker.rs:295:9
[INFO] [stdout]     |
[INFO] [stdout] 295 |         unsafe fn drop_waker<F: Fn() + Send + Sync + 'static>(data: *const ()) {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let future_ptr = (*header.as_ptr())
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/task/mod.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | unsafe fn deallocate_task<F: Future>(header: NonNull<Header>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let _ = Box::from_raw(future_ptr);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:132:22
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let output_ptr = (*header.as_ptr()).output.get() as *mut Option<F::Output>;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let _ = Box::from_raw(output_ptr);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/task/mod.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let _ = Box::from_raw(header.as_ptr());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0277, E0308, E0401, E0425, E0560, E0599, E0603, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `loony-rs-runtime` (lib test) due to 32 previous errors; 75 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c", kill_on_drop: false }`
[INFO] [stdout] 1261211e9f89ce0e4756ec7ef7fbb898b243c49fb2402a58e5bc12f64959807c
